package String;

import java.util.Arrays;

/**
 * @Author Justin Parker
 * @Date 2024/7/12 0012 14:01
 * @Version 1.0
 *
 * 重载的spilt方法
 */

public class SpiltDemo02 {
    public static void main(String[] args)
    {
        /*
            String[] spilt(String regex)
            该方法拆分字符串时，如果最开始就是可拆分内容，则会首先拆分出一个“空字符串”
            如果遇到两个连续可拆分内容时，他们中间也会拆分出一个“空中字符串”
            但是如果默认连续出现可拆分内容，那么之间拆分出的所有的字符串都会被忽略
         */
        String str = "1=2=3=4=5=6====7";
        String[] arr = str.split("=");
        System.out.println(Arrays.toString(arr));

        /*
            String[] spilt(String regex, int limit)
         */
        String str2 = "=a=b=c=d=e=f====";
        String[] arr2 = str2.split("=", 2);//仅拆分2项
        System.out.println(Arrays.toString(arr2));
        String[] arr3 = str2.split("=", 3);//仅拆分2项
        System.out.println(Arrays.toString(arr3));
        //拆分出20项，当不足时，则保留最多可拆分项（包括原本最后舍弃的空串）
        String[] arr4 = str2.split("=", 20);
        System.out.println("arr4的长度是：" + arr4.length);
        System.out.println(Arrays.toString(arr4));

        String[] arr5 = str2.split("=", 0);//与split(String regex)功能一致
        System.out.println("arr5的长度是：" + arr5.length);
        System.out.println(Arrays.toString(arr5));
        //limit为负数时：应拆尽拆，能拆出多少就保留多少（包括最后本应该舍弃的空字符串）
        String[] arr6 = str2.split("=", -1);
        System.out.println("arr6的长度是：" + arr6.length);
        System.out.println(Arrays.toString(arr6));
    }
}
